package com.lkhd.user.service;

import java.util.List;

import com.lkhd.manage.pojo.Collection;
import com.lkhd.manage.pojo.Ticket;
import com.lkhd.manage.pojo.User;

import tk.mybatis.mapper.entity.Example;

/**
 * 用户服务
 * 
 * @author youjie
 * @date 2018-9-14 09:49:11
 */
public interface UserService {
	
	/**
	 * 添加用户
	 */
	public int addUser(User user);
	
	/**
	 * 拉黑冻结用户
	 * @param user
	 * @param is true拉黑  false恢复
	 * @return
	 */
	public int freeze(User user, boolean is);
	
	/**
	 * 更新用户
	 * @param user
	 * @return
	 */
	public int updateUser(User user);
	
	/**
	 * 根据userId查询用户
	 * @param userId
	 * @return
	 */
	public User findByUserId(Long userId);
	
	/**
	 * 根据条件查询用户列表
	 * @param example 条件
	 * @param currPage    当前页
	 * @param pageSize    每页大小
	 * @return 			返回符合条件的用户
	 */
	public List<User> selectAll(Example example,int currPage,int pageSize);
	
	/**
	 * 用户收藏活动
	 * @param collection 要包括用户id,活动id
	 * @return
	 */
	public int collectionActivity(Collection collection) ;
	
	/**
	 * 用户删除收藏活动
	 * @param loginUser 登录用户
	 * @param collection
	 * @return
	 */
	public int cancelCollection(Collection collection);
	
	/**
	 * 用户是否收藏改活动
	 * @param collection collection 要包括用户id,活动id
	 * @return
	 */
	public boolean userIsCollection(Collection collection);
	
	/**
	 * 用户收藏活动列表
	 * 
	 * @param user 根据用户id获取用户收藏活动列表
	 * @param pageNum 页码
	 * @param pageSzie 每页大小
	 * @return
	 */
	public List<Collection> collectionActivityList(User user,Integer pageNum, Integer pageSzie);
	
	/**
	 * 根据用户id查询门票购买记录列表
	 * @param user 
	 * @param status 门票状态
	 * @param pageNum 页码
	 * @param pageSzie 每页大小
	 * @return
	 */
	public List<Ticket> selectTicket(User user, int status,Integer pageNum, Integer pageSzie);
}
